package com.lekang.mapper;

import com.lekang.domain.Elderly;
import com.lekang.dto.BindFamilyDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * @ClassName BindFaimlyMapper
 * @Description TODO
 * @Author wangjinyuan
 * @Date 2025年10月23日 16:45
 * @Version 1.0
 */
@Mapper
public interface BindFamilyMapper {
    /**
     * 根据DTO中的姓名和身份证号查询老人
     * @param queryDto 封装查询条件的DTO
     * @return 老人实体（匹配到返回单条，未匹配到返回null）
     */
    Elderly selectElderlyByNameAndIdCard(BindFamilyDto queryDto);
    // 新增：查询是否存在相同的wx_user_id和elderly_id
    int countByWxUserIdAndElderlyId(
            @Param("wxUserId") Long wxUserId,
            @Param("elderlyId") Long elderlyId
    );
    /**
     * 插入家庭成员绑定关系
     * @param wxUserId 微信用户ID
     * @param elderlyId 老人ID
     * @param extraField1 关系（例如：“父”、“子”等）
     * @return 受影响的行数
     */
    int insertBindFamily(
            @Param("wxUserId") Long wxUserId,  // 注解值 = SQL 中的参数名
            @Param("elderlyId") Long elderlyId,
            @Param("extraField1") String extraField1
    );
    int deleteBindFamily(
            @Param("wxUserId") Long wxUserId,  // 注解值 = SQL 中的参数名
            @Param("elderlyId") Long elderlyId
    );
}
